#include "cppTutorLog.h"
#include "cppTutorInterfaceClass.h"

#include <iostream>

extern CcppTutorLog Log;

using namespace std;

CcppTutorInterfaceClass :: CcppTutorInterfaceClass ()
{
    Log << "ENTER : CcppTutorInterfaceClass :: CcppTutorInterfaceClass" << endl;
    Log << "EXIT  : CcppTutorInterfaceClass :: CcppTutorInterfaceClass" << endl;
}

CcppTutorInterfaceClass :: ~CcppTutorInterfaceClass ()
{
    Log << "ENTER : CcppTutorInterfaceClass :: ~CcppTutorInterfaceClass" << endl;
    Log << "EXIT  : CcppTutorInterfaceClass :: ~CcppTutorInterfaceClass" << endl;
}

CcppTutorInterfacceImplementation :: CcppTutorInterfacceImplementation ()
{
    Log << "ENTER : CcppTutorInterfacceImplementation :: CcppTutorInterfacceImplementation" << endl;
    Log << "EXIT  : CcppTutorInterfacceImplementation :: CcppTutorInterfacceImplementation" << endl;
}

CcppTutorInterfacceImplementation :: ~CcppTutorInterfacceImplementation ()
{
    Log << "ENTER : CcppTutorInterfacceImplementation :: ~CcppTutorInterfacceImplementation" << endl;
    Log << "EXIT  : CcppTutorInterfacceImplementation :: ~CcppTutorInterfacceImplementation" << endl;
}

void CcppTutorInterfacceImplementation :: m_ITaskFirst ()
{
    Log << "ENTER : CcppTutorInterfacceImplementation :: m_ITaskFirst" << endl;
    cout << "First Task Executed !!!" << endl;
    Log << "EXIT  : CcppTutorInterfacceImplementation :: m_ITaskFirst" << endl;
}

void CcppTutorInterfacceImplementation :: m_ITaskSecond ()
{
    Log << "ENTER : CcppTutorInterfacceImplementation :: m_ITaskSecond" << endl;
    cout << "Second Task Executed !!!" << endl;
    Log << "EXIT  : CcppTutorInterfacceImplementation :: m_ITaskSecond" << endl;
}



